package cin.ufpe.br.projetoESS.Dados;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import cin.ufpe.br.projetoESS.Entidades.Servico;
import cin.ufpe.br.projetoESS.Entidades.Relatorios.DadosFinanceiros;

public class RepositorioServico {
	
	private Connection conn;

	public RepositorioServico (Connection conn){
		this.conn = conn;
	}

	public void inserirServico (Servico s) throws SQLException{

		Statement statement = conn.createStatement();


		String queryInsertServico = "INSERT INTO SERVICO (nomeempresa,tiposervico,valorcobrado,qtdfuncionario)"
			
		+ "VALUES ('"+s.getNomeEmpresa()+"','"
		+ s.getTipoServico()+"',"
		+s.getValorCobrado()+","
		+s.getQtdFuncionario()+")";
		
		System.out.println(queryInsertServico);

		statement.executeUpdate(queryInsertServico);
		conn.commit();

	}
	
	public DadosFinanceiros[] getDadosGastosServico() throws SQLException{

		DadosFinanceiros[] dadosFinanceiros = null;
		
		Statement statement = conn.createStatement();		
		ResultSet resultSet;
		
		String queryQtdServicos = "SELECT COUNT(*) AS qtdServicos FROM Servico";
		resultSet = statement.executeQuery(queryQtdServicos);
		resultSet.next();
		
		int qtdServicos = resultSet.getInt("qtdServicos");
		
		if(qtdServicos > 0){
			
			dadosFinanceiros = new DadosFinanceiros[qtdServicos];
			
			String queryServicos = "SELECT nomeEmpresa, valorCobrado FROM Servico";
			resultSet = statement.executeQuery(queryServicos);
							
			int i = 0;
			
			while(resultSet.next()){
				
				String nomeEmpresa = resultSet.getString("nomeEmpresa");
				double valorCobrado = resultSet.getDouble("valorCobrado");
				
				dadosFinanceiros[i] = new DadosFinanceiros(nomeEmpresa, valorCobrado);
				
				i++;
			}
		}
		
		return dadosFinanceiros;

	}

}
